home *** CD-ROM | disk | FTP | other *** search
/ PC Open 100 / PC Open 100 CD 1.bin / CD1 / INTERNET / EMAIL / pop file / setup.exe / pipe.pl < prev    next >
Encoding:
Perl Script  |  2004-01-27  |  1.7 KB  |  83 lines

  1. #!/usr/bin/perl
  2. # ---------------------------------------------------------------------------------------------
  3. #
  4. # pipe.pl --- Read a message in on STDIN and write out the modified version on STDOUT
  5. #
  6. # Copyright (c) 2001-2003 John Graham-Cumming
  7. #
  8. # ---------------------------------------------------------------------------------------------
  9.  
  10. use strict;
  11. use Classifier::Bayes;
  12. use Classifier::WordMangle;
  13. use POPFile::Configuration;
  14. use POPFile::MQ;
  15. use POPFile::Logger;
  16. use UI::HTML;
  17.  
  18. # main
  19.  
  20. if ( $#ARGV == -1 ) {
  21.     my $c = new POPFile::Configuration;
  22.     my $mq = new POPFile::MQ;
  23.     my $l = new POPFile::Logger;
  24.     my $b = new Classifier::Bayes;
  25.     my $u = new UI::HTML;
  26.     my $w = new Classifier::WordMangle;
  27.  
  28.     $u->configuration( $c );
  29.     $u->mq( $mq );
  30.     $u->logger( $l );
  31.  
  32.     $l->configuration( $c );
  33.     $l->mq( $mq );
  34.     $l->logger( $l );
  35.  
  36.     $mq->configuration( $c );
  37.     $mq->mq( $mq );
  38.     $mq->logger( $l );
  39.  
  40.     $b->configuration( $c );
  41.     $b->mq( $mq );
  42.     $b->logger( $l );
  43.  
  44.     $c->configuration( $c );
  45.     $c->mq( $mq );
  46.     $c->logger( $l );
  47.  
  48.     $c->initialize();
  49.     $l->initialize();
  50.  
  51.     $w->configuration( $c );
  52.     $w->mq( $mq );
  53.     $w->logger( $l );
  54.  
  55.     $w->start();
  56.  
  57.     $b->{parser__}->mangle( $w );
  58.     $b->initialize();
  59.     $u->initialize();
  60.  
  61.     $c->load_configuration();
  62.  
  63.     $b->start();
  64.  
  65.     my $session = $b->get_session_key( 'admin', '' );
  66.  
  67.     $b->classify_and_modify( $session, \*STDIN, \*STDOUT, 0, 0, 1, '', 1, "\n") . "'\n";
  68.  
  69.     $b->release_session_key( $session );
  70.     $b->stop();
  71.     $l->stop();
  72.     $mq->stop();
  73.     $c->stop();
  74.     $u->stop();
  75.  
  76.     exit 0;
  77. } else {
  78.     print "pipe.pl - reads a message on STDIN, classifies it, outputs the modified version on STDOUT\n\n";
  79.     print "Usage: pipe.pl\n";
  80.  
  81.     exit 1;
  82. }
  83.